package com.example.demo.niuke;

import java.util.Scanner;

/**
 * @Author: liull
 * @Description: 自守数是指一个数的平方的尾数等于该数自身的自然数。
 * 例如：25^2 = 625，76^2 = 5776，9376^2 = 87909376。请求出n以内的自守数的个数
 * @Date: Created in 22:06 2020/3/24
 * @Modified By:
 */
public class Main29 {
    /*
     *功能: 求出n以内的自守数的个数
     *输入参数：
     *int n
     *返回值：
     *n以内自守数的数量。
     */
    public static int CalcAutomorphicNumbers(int n) {
        /*在这里实现功能*/
        int count = 0;
        for (int j = 0; j <= n; j++) {
            int pow = (int) Math.pow(j, 2);
            String powStr = "" + pow;
            int length = String.valueOf(j).length();
            if (powStr.substring(powStr.length() - length).equals(String.valueOf(j))) {
                count++;
            }
        }
        return count;

    }

    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        while (sc.hasNextInt()) {
            int i = sc.nextInt();
            //            System.out.println(getZsNum(i));
            System.out.println(CalcAutomorphicNumbers(i));
        }

    }

    public static int getZsNum(int maxNum) {
        int count = 0;
        for (int i = 0; i <= maxNum; i++) {
            String s1 = String.valueOf(i);    //将i转换为字符串
            String s2 = String.valueOf(i * i);    //将i的平方转换成字符串
            String s3 = s2.substring(s2.length() - s1.length());//s3定义为字符串s2最后的长度为s1字符串的字符串
            if (s3.equals(s1)) {        //比较i1字符串和i3字符串是否相同
                System.out.println(i);
                count++;
            }
        }
        return count;
    }
}
